package com.dudu.service;

import com.dudu.bean.AccountBean;
import com.dudu.bean.AppExtendBean;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
 * 语音短信
 * @author 危东
 * @date 2016-5-4
 */
public interface IVoiceNoticeService {

	/**
	 * 发起语音短信
	 * @param appExtendBean 应用信息
	 * @param accountBean 账号信息
	 * @param userIdentify 用户标识
	 * @param caller 主叫号码
	 * @param called 被叫号码
	 * @param content 短信内容
	 * @param schedule_send_time 预定短信发起时间
	 * @param push_url 语音通信预约后，通信发起sessionid接收地址
	 * @param tts_content 前导音
	 * @param pool_ability_id ISV自定义发起留言使用号码
	 * @param batch_number 是否一批次
	 * @param usePlatNbr 强制使用平台号
	 * @param calledJsonArray json数组格式
	 * @return
	 */
	public JSONObject sendVoiceNotice(AppExtendBean appExtendBean, AccountBean accountBean, String userIdentify, String caller, String called, String content, String schedule_send_time, String push_url, String tts_content, String pool_ability_id,String batch_number, String usePlatNbr, JSONArray calledJsonArray, String abilityType);
	
	/**
	 * 重新发起语音短信
	 * @param appExtendBean 应用信息
	 * @param accountBean 账号信息
	 * @param userIdentify 用户标识
	 * @param voice_id 重发的信息的id
	 * @param caller 主叫号码
	 * @param called 被叫号码
	 * @param schedule_send_time 预定短信发起时间
	 * @param push_url 语音通信预约后，通信发起sessionid接收地址
	 * @param tts_content 前导音 如果设置前导音为-1，则使用之前的前导音如果前导音设置为空，则清空前导音
	 * @param pool_ability_id ISV自定义发起留言使用号码
	 * @param batch_number 是否一批次
	 * @param usePlatNbr 强制使用平台号
	 * @param calledJsonArray json数组格式
	 * @return
	 */
	public JSONObject sendVoiceNoticeLet(AppExtendBean appExtendBean, AccountBean accountBean, String userIdentify, String voice_id, String caller, String called,String schedule_send_time, String push_url, String tts_content, String pool_ability_id,String batch_number, String usePlatNbr, JSONArray calledJsonArray, String abilityType);

	
	/**
	 * 重发接口，根据VOICE_ID重发（自用接口）
	 * @param app_key
	 * @param cust_account
	 * @param voice_id
	 * @param called
	 * @param userId
	 * @param push_url
	 * @param calledJsonArray json数组格式
	 * @return
	 */
	public JSONObject sendVoiceNoticeByVoiceId(String app_key,String cust_account,String voice_id,String called,String userId,String push_url, JSONArray calledJsonArray);
	/**
	 * 取消语音通知发送
	 * @param app_key
	 * @param cust_account
	 * @param voice_id
	 * @param batch_number
	 * @return
	 */
	public JSONObject cancelVoiceNotice(String app_key,String cust_account,String voice_id,String batch_number,String session_id);
}